// 主题管理服务
class ThemeService {
  constructor() {
    this.themes = {
      blue: {
        id: 'blue',
        name: '专业蓝',
        description: '经典商务风格',
        colors: {
          '--primary-50': '#f0f9ff',
          '--primary-100': '#e0f2fe',
          '--primary-200': '#bae6fd',
          '--primary-300': '#7dd3fc',
          '--primary-400': '#38bdf8',
          '--primary-500': '#0ea5e9',
          '--primary-600': '#0284c7',
          '--primary-700': '#0369a1',
          '--primary-800': '#075985',
          '--primary-900': '#0c4a6e',
          '--button-primary-bg': '#0284c7',
          '--button-primary-hover': '#0369a1',
          '--button-secondary-bg': '#f0f9ff',
          '--button-secondary-hover': '#e0f2fe',
          '--accent-color': '#0284c7'
        }
      },
      green: {
        id: 'green',
        name: '自然绿',
        description: '清新自然风格',
        colors: {
          '--primary-50': '#f0fdf4',
          '--primary-100': '#dcfce7',
          '--primary-200': '#bbf7d0',
          '--primary-300': '#86efac',
          '--primary-400': '#4ade80',
          '--primary-500': '#22c55e',
          '--primary-600': '#16a34a',
          '--primary-700': '#15803d',
          '--primary-800': '#166534',
          '--primary-900': '#14532d',
          '--button-primary-bg': '#16a34a',
          '--button-primary-hover': '#15803d',
          '--button-secondary-bg': '#f0fdf4',
          '--button-secondary-hover': '#dcfce7',
          '--accent-color': '#16a34a'
        }
      },
      purple: {
        id: 'purple',
        name: '优雅紫',
        description: '神秘优雅风格',
        colors: {
          '--primary-50': '#faf5ff',
          '--primary-100': '#f3e8ff',
          '--primary-200': '#e9d5ff',
          '--primary-300': '#d8b4fe',
          '--primary-400': '#c084fc',
          '--primary-500': '#a855f7',
          '--primary-600': '#9333ea',
          '--primary-700': '#7c3aed',
          '--primary-800': '#6b21a8',
          '--primary-900': '#581c87',
          '--button-primary-bg': '#9333ea',
          '--button-primary-hover': '#7c3aed',
          '--button-secondary-bg': '#faf5ff',
          '--button-secondary-hover': '#f3e8ff',
          '--accent-color': '#9333ea'
        }
      },
      orange: {
        id: 'orange',
        name: '活力橙',
        description: '温暖活力风格',
        colors: {
          '--primary-50': '#fff7ed',
          '--primary-100': '#ffedd5',
          '--primary-200': '#fed7aa',
          '--primary-300': '#fdba74',
          '--primary-400': '#fb923c',
          '--primary-500': '#f97316',
          '--primary-600': '#ea580c',
          '--primary-700': '#c2410c',
          '--primary-800': '#9a3412',
          '--primary-900': '#7c2d12',
          '--button-primary-bg': '#ea580c',
          '--button-primary-hover': '#c2410c',
          '--button-secondary-bg': '#fff7ed',
          '--button-secondary-hover': '#ffedd5',
          '--accent-color': '#ea580c'
        }
      },
      pink: {
        id: 'pink',
        name: '浪漫粉',
        description: '温柔浪漫风格',
        colors: {
          '--primary-50': '#fdf2f8',
          '--primary-100': '#fce7f3',
          '--primary-200': '#fbcfe8',
          '--primary-300': '#f9a8d4',
          '--primary-400': '#f472b6',
          '--primary-500': '#ec4899',
          '--primary-600': '#db2777',
          '--primary-700': '#be185d',
          '--primary-800': '#9d174d',
          '--primary-900': '#831843',
          '--button-primary-bg': '#db2777',
          '--button-primary-hover': '#be185d',
          '--button-secondary-bg': '#fdf2f8',
          '--button-secondary-hover': '#fce7f3',
          '--accent-color': '#db2777'
        }
      },
      indigo: {
        id: 'indigo',
        name: '深邃靛',
        description: '深邃专业风格',
        colors: {
          '--primary-50': '#eef2ff',
          '--primary-100': '#e0e7ff',
          '--primary-200': '#c7d2fe',
          '--primary-300': '#a5b4fc',
          '--primary-400': '#818cf8',
          '--primary-500': '#6366f1',
          '--primary-600': '#4f46e5',
          '--primary-700': '#4338ca',
          '--primary-800': '#3730a3',
          '--primary-900': '#312e81',
          '--button-primary-bg': '#4f46e5',
          '--button-primary-hover': '#4338ca',
          '--button-secondary-bg': '#eef2ff',
          '--button-secondary-hover': '#e0e7ff',
          '--accent-color': '#4f46e5'
        }
      },
      provence: {
        id: 'provence',
        name: '普罗旺斯',
        description: '浪漫优雅风格',
        colors: {
          '--primary-50': '#faf5ff',
          '--primary-100': '#f3e8ff',
          '--primary-200': '#e9d5ff',
          '--primary-300': '#d8b4fe',
          '--primary-400': '#c084fc',
          '--primary-500': '#a855f7',
          '--primary-600': '#9333ea',
          '--primary-700': '#7c3aed',
          '--primary-800': '#6b21a8',
          '--primary-900': '#581c87',
          '--button-primary-bg': '#9333ea',
          '--button-primary-hover': '#7c3aed',
          '--button-secondary-bg': '#faf5ff',
          '--button-secondary-hover': '#f3e8ff',
          '--accent-color': '#9333ea'
        }
      }
    }
    
    this.currentTheme = 'provence'
    this.init()
  }

  // 初始化主题
  init() {
    const savedTheme = localStorage.getItem('selectedTheme')
    if (savedTheme && this.themes[savedTheme]) {
      this.currentTheme = savedTheme
    }
    this.applyTheme(this.currentTheme)
  }

  // 应用主题
  applyTheme(themeId) {
    const theme = this.themes[themeId]
    if (!theme) return

    const root = document.documentElement
    
    // 清除之前的内联样式
    const existingStyles = Array.from(root.style)
    existingStyles.forEach(prop => {
      if (prop.startsWith('--primary-') || prop.startsWith('--button-') || prop.startsWith('--accent-')) {
        root.style.removeProperty(prop)
      }
    })
    
    // 应用新主题
    Object.entries(theme.colors).forEach(([property, value]) => {
      root.style.setProperty(property, value)
    })
    
    this.currentTheme = themeId
    localStorage.setItem('selectedTheme', themeId)
    
    console.log('主题已应用:', themeId)
  }

  // 获取当前主题
  getCurrentTheme() {
    return this.currentTheme
  }

  // 获取所有主题
  getAllThemes() {
    return Object.values(this.themes)
  }

  // 重置主题
  resetTheme() {
    localStorage.removeItem('selectedTheme')
    this.currentTheme = 'provence'
    this.applyTheme('provence')
  }
}

// 创建单例实例
const themeService = new ThemeService()

export default themeService
